实现目标
提供一个一致的面向对象的
编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
提供一个将
软件部署和版本控制冲突最小化的代码执行环境。
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
.NET Framework现主要由以下几部分组成:
(1).包括五种正式的语言
编译器(C#,
Visual Basic,托管 C++,J#和Jscript
脚本语言等).
(2).框架
类库(
Framework Class Library,FCL)由很多相关互联的类库组成,支持Windows应用程序.Web应用程序.
Web服务和数据访问等的开发.
(3).
公共语言运行库(Common Language Runtime,CLR)是处于,NET核心Framework的面向对象的引擎,其将各种语言
编译器生成的
中间代码编译为执行应用程序所需要的原生码(native code).
组件
公共语言
运行库和 .NET Framework 类库。
公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、
线程管理和
远程处理等
核心服务,并且还强制实施严格的
类型安全以及可提高安全性和可靠性的其他形式的代码
准确性。事实上,代码管理的概念是运行库的
基本原则。以运行库为目标的代码称为
托管代码,而不以运行库为目标的代码称为
非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。
.NET Framework 可由
非托管组件承载,这些组件将
公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的
软件环境。.NET Framework 不但提供若干个
运行库宿主,而且还支持第三方运行库宿主的开发。
.NET Framework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。
这句话最有趣的地方是它的含糊不清,但这是有原因的。首先,注意这句话没有说“在
Windows操作系统上开发应用程序”。尽管.NET Framework的Microsoft版本运行在Windows操作系统上,但以后将推出运行在其他操作系统上的版本,例如Mono,它是.NET Framework的开发
源代码版本(包含一个C#
编译器),该版本可以运行在几个操作系统上,包括各种
Linux版本和
Mac OS。许多这类项目正在开发,在读者阅读本书时可能就已发布了。另外,还可以在个人数字助手(PDA)类设备和一些
智能电话上使用Microsoft .NET Compact Framework(基本上是完整 .NET Framework的一个子集)。使用.NET Framework的一个主要原因是它可以作为集成各种操作系统的方式。
另外,上面给出的.NET Framework定义并没有限制应用程序的类型。这是因为本来就没有限制。.NET Framework可以创建Windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。
.NET Framework的设计方式保证它可以用于各种语言,包括本书要介绍的
C#语言,以及C++、Visual Basic、
JScript,甚至一些旧的语言,如
COBOL。为此,还推出了这些语言的.NET版本,目前还在不断推出更多的.NET版本的语言。所有这些语言都可以访问.NET Framework,它们还可以彼此交互。C#开发人员可以使用Visual Basic程序员编写的代码,反之亦然。
所有这些提供了意想不到的多样性,这也是.NET Framework具有诱人前景的部分原因。
内容
NET Framework主要包含一个非常大的
代码库,可以在客户语言(如C#)中通过面向对象编程技术(
OOP)来使用这些代码。这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。例如,一个模块包含Windows
应用程序的构件,另一个模块包含联网的代码块,还有一个模块包含Web开发的代码块。一些模块还分为更具体的子模块,例如在Web开发模块中,有用于建立
Web服务的子模块。
其目的是,不同的操作系统可以根据自己的特性,支持其中的部分或全部模块。例如,PDA支持所有的核心
.NET功能,但不需要某些更深奥的模块。
部分.NET Framework库定义了一些基本类型。类型是数据的一种
表达方式,指定其中最基础的部分(例如32位
带符号的整数),以便使用.NET Framework在各种语言之间进行交互操作。这称为
通用类型系统(Common Type System,
CTS)。
除了支持这个库以外,.NET Framework还包含.NET
公共语言运行库(Common Language Runtime,
CLR),它负责管理用.NET库开发的所有应用程序的执行。
重要事项
不能在同一台计算机上安装两种不同语言版本的 .NET Framework。试图安装第二种语言版本的 .NET Framework 时,将会导致出现以下错误:“
安装程序无法安装
Microsoft .NET Framework,因为已经安装了该产品的其他版本。”如果您要使用非英语的平台或要以另一种语言查看 .NET Framework 资源,则必须下载相应语言版本的 .NET Framework
语言包来解决问题。